package com.tkjt.pms.impt.repository;

import java.util.*;
import java.util.concurrent.ConcurrentHashMap;

public class IndexTreeRepositories {

	//一线单位
	public final static String INDEX_GROUP_C = "C";
	//养康本部
	public final static String INDEX_GROUP_G = "G";
	
	/**************************************************************************************************
	 * @Key为indexGroup或indexCode或indexValueCode; 顶级节点为: "C" 或  "G"
	 * @Value为List<String>类型, 存放KEY的子节点(indexCode或indexValueCode)
	 */
	private static Map<String, List<String>> indexCTreeRepo = new ConcurrentHashMap<String, List<String>>();

	private static Map<String, List<String>> indexGTreeRepo = new ConcurrentHashMap<String, List<String>>();
	public static List<String> getSubCIndexs(String indexCode){

		List<String> subIndexCodes = indexCTreeRepo.get(indexCode);
		if(null == subIndexCodes) {
			subIndexCodes = new ArrayList<>();
		}
		return subIndexCodes;
	}
	public static List<String> getSubGIndexs(String indexCode){

		List<String> subIndexCodes = indexGTreeRepo.get(indexCode);
		if(null == subIndexCodes) {
			subIndexCodes = new ArrayList<String>();
		}
		return subIndexCodes;
	}
	
	/************************************************
	 * * 此Static下面存放 C(一线单位)层级关系
	 */
	static {
		/************************************************
		 * * 存放一级指标 ===> 层级关系
		 */
		List<String> indexCodes = new ArrayList<String>();
		indexCodes.add("IAAA001"); //收入
		indexCodes.add("IAAA002"); //净利润
		indexCodes.add("IAAA003"); //净新增
		indexCodes.add("IAAA004"); //平均入住率
		indexCodes.add("IAAA000"); //第一个[小计]
		indexCodes.add("IAAB001"); //独立区健康评估按时完成率（联考）
		indexCodes.add("IAAB002"); //独立区年度体检完成率（联考）
		indexCodes.add("IAAB004"); //入住合同签署完整率
		indexCodes.add("IAAB005"); //TK-LTC体系执行符合率
		indexCodes.add("IAAB006"); //TKR体系执行符合率
		indexCodes.add("IAAB007"); //康复医院门诊病历书写合格率
		indexCodes.add("IAAB008"); //康复医院甲级病案率
		indexCodes.add("IAAB009"); //养康客户满意度（联考）
		indexCodes.add("IAAB011"); //养康净推荐值NPS（独立区）
		indexCodes.add("IAAB012"); //净推荐值NPS（护理区+康复医院）
		indexCodes.add("IAAB013"); //全景及专项计划
		indexCodes.add("IAAB017"); //重点工作完成
		indexCodes.add("IAAB000"); //第二个[小计]
		indexCodes.add("IAAC001"); //关键信息正确率
		indexCodes.add("IAAC002"); //独立区跌倒致重伤发生率（联考）
		indexCodes.add("IAAC003"); //主流客户占比
		indexCodes.add("IAAC004"); //院感
		indexCodes.add("IAAC005"); //质量改进情况
		indexCodes.add("IAAC006"); //投诉事件扣分
		indexCodes.add("IAAC007"); //质量安全扣分
		indexCodes.add("IZZZ999"); //总计 (第三个[小计])
		indexCTreeRepo.put(INDEX_GROUP_C, indexCodes);
		
		/************************************************
		 * * 收入	 ===> 层级关系
		 */
		List<String> indexValueCodes = new ArrayList<String>();
		indexValueCodes.add("KCIAAA001VC001");//得分
		indexCTreeRepo.put("IAAA001", indexValueCodes);

		
		indexValueCodes = new ArrayList<String>();
		indexValueCodes.add("KCIAAA001VA004");//联考得分
		indexValueCodes.add("KCIAAA001VB004");//非联考得分
		indexCTreeRepo.put("KCIAAA001VC001", indexValueCodes);

		
		indexValueCodes = new ArrayList<String>();
		indexValueCodes.add("KCIAAA001VA003");//联考达成率
		indexCTreeRepo.put("KCIAAA001VA004", indexValueCodes);

		
		indexValueCodes = new ArrayList<String>();
		indexValueCodes.add("KCIAAA001VB003");//非联考达成率
		indexCTreeRepo.put("KCIAAA001VB004", indexValueCodes);		

		
		indexValueCodes = new ArrayList<String>();
		indexValueCodes.add("KCIAAA001VA001");//联考目标值
		indexValueCodes.add("KCIAAA001VA002");//联考实际值
		indexCTreeRepo.put("KCIAAA001VA003", indexValueCodes);

		
		indexValueCodes = new ArrayList<String>();
		indexValueCodes.add("KCIAAA001VB001");//非联考目标值
		indexValueCodes.add("KCIAAA001VB002");//非联考实际值
		indexCTreeRepo.put("KCIAAA001VB003", indexValueCodes);

		
		
		/************************************************
		 * * 净利润 ===> 层级关系
		 */
		indexValueCodes = new ArrayList<String>();
		indexValueCodes.add("KCIAAA002VC001");//得分
		indexCTreeRepo.put("IAAA002", indexValueCodes);

		indexValueCodes = new ArrayList<String>();
		indexValueCodes.add("KCIAAA002VA004");//联考得分
		indexValueCodes.add("KCIAAA002VB004");//非联考得分
		indexCTreeRepo.put("KCIAAA002VC001", indexValueCodes);

		indexValueCodes = new ArrayList<String>();
		indexValueCodes.add("KCIAAA002VA003");//联考达成率
		indexCTreeRepo.put("KCIAAA002VA004", indexValueCodes);

		indexValueCodes = new ArrayList<String>();
		indexValueCodes.add("KCIAAA002VB003");//非联考达成率
		indexCTreeRepo.put("KCIAAA002VB004", indexValueCodes);

		indexValueCodes = new ArrayList<String>();
		indexValueCodes.add("KCIAAA002VA001");//联考目标值
		indexValueCodes.add("KCIAAA002VA002");//联考实际值
		indexCTreeRepo.put("KCIAAA002VA003", indexValueCodes);

		indexValueCodes = new ArrayList<String>();
		indexValueCodes.add("KCIAAA002VB001");//非联考目标值
		indexValueCodes.add("KCIAAA002VB002");//非联考实际值
		indexCTreeRepo.put("KCIAAA002VB003", indexValueCodes);

		/************************************************
		 * * 净新增 ===> 层级关系
		 */
		indexValueCodes = new ArrayList<String>();
		indexValueCodes.add("KCIAAA003VB001");//得分
		indexCTreeRepo.put("IAAA003", indexValueCodes);

		indexValueCodes = new ArrayList<String>();
		indexValueCodes.add("KCIAAA003VA003");//达成率
		indexCTreeRepo.put("KCIAAA003VB001", indexValueCodes);

		indexValueCodes = new ArrayList<String>();
		indexValueCodes.add("KCIAAA003VA001");//目标值
		indexValueCodes.add("KCIAAA003VA002");//实际值
		indexCTreeRepo.put("KCIAAA003VA003", indexValueCodes);

		/************************************************
		 * * 平均入住率 ===> 层级关系
		 */
		indexValueCodes = new ArrayList<String>();
		indexValueCodes.add("KCIAAA003VC001");//得分
		indexCTreeRepo.put("IAAA004", indexValueCodes);

		/************************************************
		 * * 第一个小计 ===> 层级关系
		 */
		indexValueCodes = new ArrayList<String>();
		indexValueCodes.add("KCIAAA000VA000");//得分
		indexCTreeRepo.put("IAAA000", indexValueCodes);

		/************************************************
		 * * 独立区健康评估按时完成率（联考） ===> 层级关系
		 */
		indexValueCodes = new ArrayList<String>();
		indexValueCodes.add("KCIAAB001VB002");//得分
		indexCTreeRepo.put("IAAB001", indexValueCodes);

		indexValueCodes = new ArrayList<String>();
		indexValueCodes.add("KCIAAB001VA001");//目标值
		indexValueCodes.add("KCIAAB001VA002");//实际值
		indexCTreeRepo.put("KCIAAB001VB002", indexValueCodes);

		/************************************************
		 * * 独立区年度体检完成率（联考） ===> 层级关系
		 */
		indexValueCodes = new ArrayList<String>();
		indexValueCodes.add("KCIAAB002VB001");//得分
		indexCTreeRepo.put("IAAB002", indexValueCodes);

		indexValueCodes = new ArrayList<String>();
		indexValueCodes.add("KCIAAB002VA001");//目标值
		indexValueCodes.add("KCIAAB002VA002");//实际值
		indexCTreeRepo.put("KCIAAB002VB001", indexValueCodes);

		/************************************************
		 * * 入住合同签署完整率 ===> 层级关系
		 */
		indexValueCodes = new ArrayList<String>();
		indexValueCodes.add("KCIAAB004VB001");//得分
		indexCTreeRepo.put("IAAB004", indexValueCodes);

		indexValueCodes = new ArrayList<String>();
		indexValueCodes.add("KCIAAB004VA001");//目标值
		indexValueCodes.add("KCIAAB004VA002");//实际值
		indexCTreeRepo.put("KCIAAB004VB001", indexValueCodes);

		/************************************************
		 * * TK-LTC体系执行符合率 ===> 层级关系
		 */
		indexValueCodes = new ArrayList<String>();
		indexValueCodes.add("KCIAAB005VD001");//得分
		indexCTreeRepo.put("IAAB005", indexValueCodes);

		indexValueCodes = new ArrayList<String>();
		indexValueCodes.add("KCIAAB005VC001");//实际达成
		indexCTreeRepo.put("KCIAAB005VD001", indexValueCodes);

		indexValueCodes = new ArrayList<String>();
		indexValueCodes.add("KCIAAB005VA001");//全流程检查目标值-半年
		indexValueCodes.add("KCIAAB005VA002");//全流程检查实际值
		indexValueCodes.add("KCIAAB005VB001");//日常检查目标值-月度
		indexValueCodes.add("KCIAAB005VB002");//日常检查实际值
		indexCTreeRepo.put("KCIAAB005VC001", indexValueCodes);

		/************************************************
		 * * TKR体系执行符合率 ===> 层级关系
		 */
		indexValueCodes = new ArrayList<String>();
		indexValueCodes.add("KCIAAB006VD001");//得分
		indexCTreeRepo.put("IAAB006", indexValueCodes);

		indexValueCodes = new ArrayList<String>();
		indexValueCodes.add("KCIAAB006VC001");//实际达成
		indexCTreeRepo.put("KCIAAB006VD001", indexValueCodes);

		indexValueCodes = new ArrayList<String>();
		indexValueCodes.add("KCIAAB006VA001");//全流程检查目标值-半年
		indexValueCodes.add("KCIAAB006VA002");//全流程检查实际值
		indexValueCodes.add("KCIAAB006VB001");//日常检查目标值-月度
		indexValueCodes.add("KCIAAB006VB002");//日常检查实际值
		indexCTreeRepo.put("KCIAAB006VC001", indexValueCodes);

		/************************************************
		 * * 康复医院门诊病历书写合格率 ===> 层级关系
		 */
		indexValueCodes = new ArrayList<String>();
		indexValueCodes.add("KCIAAB007VB001");//得分
		indexCTreeRepo.put("IAAB007", indexValueCodes);

		indexValueCodes = new ArrayList<String>();
		indexValueCodes.add("KCIAAB007VA001");//目标值
		indexValueCodes.add("KCIAAB007VA002");//实际值
		indexCTreeRepo.put("KCIAAB007VB001", indexValueCodes);

		/************************************************
		 * * 康复医院甲级病案率 ===> 层级关系
		 */
		indexValueCodes = new ArrayList<String>();
		indexValueCodes.add("KCIAAB008VB001");//得分
		indexCTreeRepo.put("IAAB008", indexValueCodes);

		indexValueCodes = new ArrayList<String>();
		indexValueCodes.add("KCIAAB008VA001");//目标值
		indexValueCodes.add("KCIAAB008VA002");//实际值
		indexCTreeRepo.put("KCIAAB008VB001", indexValueCodes);

		/************************************************
		 * * 养康客户满意度（联考） ===> 层级关系
		 */
		indexValueCodes = new ArrayList<String>();
		indexValueCodes.add("KCIAAB009VB001");//得分
		indexCTreeRepo.put("IAAB009", indexValueCodes);

		indexValueCodes = new ArrayList<String>();
		indexValueCodes.add("KCIAAB009VA006");//实际值合计
		indexCTreeRepo.put("KCIAAB009VB001", indexValueCodes);

		indexValueCodes = new ArrayList<String>();
		indexValueCodes.add("KCIAAB009VA001");//目标值
		indexValueCodes.add("KCIAAB009VA002");//独立区（75%/25%）
		indexValueCodes.add("KCIAAB009VA003");//护理区（12.5%/37.5%）
		indexValueCodes.add("KCIAAB009VA004");//医院住院（7.5%/22.5%）
		indexValueCodes.add("KCIAAB009VA005");//医院门诊（5%/15%）
		indexCTreeRepo.put("KCIAAB009VA006", indexValueCodes);

		/************************************************
		 * * 养康净推荐值ＮＰＳ（独立区） ===> 层级关系
		 */
		indexValueCodes = new ArrayList<String>();
		indexValueCodes.add("KCIAAB011VB001");//得分
		indexCTreeRepo.put("IAAB011", indexValueCodes);

		indexValueCodes = new ArrayList<String>();
		indexValueCodes.add("KCIAAB011VA001");//目标值
		indexValueCodes.add("KCIAAB011VA002");//独立区实际值
		indexCTreeRepo.put("KCIAAB011VB001", indexValueCodes);

		/************************************************
		 * * 净推荐值ＮＰＳ（护理区+康复医院） ===> 层级关系
		 */
		indexValueCodes = new ArrayList<String>();
		indexValueCodes.add("KCIAAB012VB001");//得分
		indexCTreeRepo.put("IAAB012", indexValueCodes);

		indexValueCodes = new ArrayList<String>();
		indexValueCodes.add("KCIAAB012VA005");//实际值合计
		indexCTreeRepo.put("KCIAAB012VB001", indexValueCodes);

		indexValueCodes = new ArrayList<String>();
		indexValueCodes.add("KCIAAB012VA001");//目标值
		indexValueCodes.add("KCIAAB012VA002");//护理区（50%）
		indexValueCodes.add("KCIAAB012VA003");//医院住院（30%）
		indexValueCodes.add("KCIAAB012VA004");//医院门诊（20%）
		indexCTreeRepo.put("KCIAAB012VA005", indexValueCodes);

		/************************************************
		 * * 全景及专项计划 ===> 层级关系
		 */
		indexValueCodes = new ArrayList<String>();
		indexValueCodes.add("KCIAAB013VB001");//得分
		indexCTreeRepo.put("IAAB013", indexValueCodes);

		indexValueCodes = new ArrayList<String>();
		indexValueCodes.add("KCIAAB013VA001");//目标值
		indexValueCodes.add("KCIAAB013VA002");//实际值
		indexCTreeRepo.put("KCIAAB013VB001", indexValueCodes);

		/************************************************
		 * * 重点工作完成 ===> 层级关系
		 */
		indexValueCodes = new ArrayList<String>();
		indexValueCodes.add("KCIAAB017VA001");//得分
		indexCTreeRepo.put("IAAB017", indexValueCodes);

		/************************************************
		 * * 第二个小计 ===> 层级关系
		 */
		indexValueCodes = new ArrayList<String>();
		indexValueCodes.add("KCIAAB000VA000");//得分
		indexCTreeRepo.put("IAAB000", indexValueCodes);

		/************************************************
		 * * 关键信息正确率 ===> 层级关系
		 */
		indexValueCodes = new ArrayList<String>();
		indexValueCodes.add("KCIAAC001VB001");//得分
		indexCTreeRepo.put("IAAC001", indexValueCodes);

		indexValueCodes = new ArrayList<String>();
		indexValueCodes.add("KCIAAC001VA001");//目标值
		indexValueCodes.add("KCIAAC001VA002");//实际值
		indexCTreeRepo.put("KCIAAC001VB001", indexValueCodes);

		/************************************************
		 * * 独立区跌倒致重伤发生率（联考） ===> 层级关系
		 */
		indexValueCodes = new ArrayList<String>();
		indexValueCodes.add("KCIAAC002VB001");//得分
		indexCTreeRepo.put("IAAC002", indexValueCodes);

		indexValueCodes = new ArrayList<String>();
		indexValueCodes.add("KCIAAC002VA001");//目标值
		indexValueCodes.add("KCIAAC002VA002");//实际值
		indexCTreeRepo.put("KCIAAC002VB001", indexValueCodes);

		/************************************************
		 * * 主流客户占比 ===> 层级关系
		 */
		indexValueCodes = new ArrayList<String>();
		indexValueCodes.add("KCIAAC003VB001");//得分
		indexCTreeRepo.put("IAAC003", indexValueCodes);

		indexValueCodes = new ArrayList<String>();
		indexValueCodes.add("KCIAAC003VA001");//目标值
		indexValueCodes.add("KCIAAC003VA002");//实际值
		indexCTreeRepo.put("KCIAAC003VB001", indexValueCodes);

		/************************************************
		 * * 院感 ===> 层级关系
		 */
		indexValueCodes = new ArrayList<String>();
		indexValueCodes.add("KCIAAC004VB001");//得分
		indexCTreeRepo.put("IAAC004", indexValueCodes);

		indexValueCodes = new ArrayList<String>();
		indexValueCodes.add("KCIAAC004VA001");//目标值
		indexValueCodes.add("KCIAAC004VA002");//实际值
		indexCTreeRepo.put("KCIAAC004VB001", indexValueCodes);

		/************************************************
		 * * 质量改进情况 ===> 层级关系
		 */
		indexValueCodes = new ArrayList<String>();
		indexValueCodes.add("KCIAAC005VA001");//数量
		indexValueCodes.add("KCIAAC005VB001");//得分
		indexCTreeRepo.put("IAAC005", indexValueCodes);

		/************************************************
		 * * 投诉事件扣分 ===> 层级关系
		 */
		indexValueCodes = new ArrayList<String>();
		indexValueCodes.add("KCIAAC006VA001");//数量
		indexValueCodes.add("KCIAAC006VB001");//得分
		indexCTreeRepo.put("IAAC006", indexValueCodes);

		/************************************************
		 * * 质量安全扣分 ===> 层级关系
		 */
		indexValueCodes = new ArrayList<String>();
		indexValueCodes.add("KCIAAC007VA001");//数量
		indexValueCodes.add("KCIAAC007VB001");//得分
		indexCTreeRepo.put("IAAC007", indexValueCodes);

		/************************************************
		 * * 总计 ===> 层级关系
		 */
		indexValueCodes = new ArrayList<String>();
		indexValueCodes.add("KCIZZZ999VZ999");//KCIZZZ999VZ999
		indexCTreeRepo.put("IZZZ999", indexValueCodes);

	}
	
	
	/************************************************
	 * * 此Static下面存放 G(养康本部)层级关系
	 */
	static {
		/************************************************
		 * * 存放一级指标 ===> 层级关系
		 */
		List<String> indexCodes = new ArrayList<String>();
		indexCodes.add("IAAA001"); //收入
		indexCodes.add("IAAA002"); //净利润
		indexCodes.add("IAAA003"); //净新增
		indexCodes.add("IAAA000"); //第一个[小计]
		indexCodes.add("IAAB001"); //独立区健康评估按时完成率（联考）
		indexCodes.add("IAAB002"); //独立区年度体检完成率（联考）

		indexCodes.add("IAAB003"); //独立区跌倒致重伤发生率（联考）

		indexCodes.add("IAAB004"); //入住合同签署完整率
		indexCodes.add("IAAB005"); //TK-LTC体系执行符合率
		indexCodes.add("IAAB006"); //TKR体系执行符合率
		indexCodes.add("IAAB007"); //康复医院门诊病历书写合格率
		indexCodes.add("IAAB008"); //康复医院甲级病案率
		indexCodes.add("IAAB009"); //养康客户满意度（联考）

		indexCodes.add("IAAB010"); //养康NPS
		indexCodes.add("IAAB013"); //全景及专项计划
		indexCodes.add("IAAB014"); //2019核心制度
		indexCodes.add("IAAB015"); //战略项目
		indexCodes.add("IAAB016"); //医养融合

		indexCodes.add("IAAB017"); //重点工作完成
		indexCodes.add("IAAB000"); //第二个[小计]
		indexCodes.add("IAAC001"); //关键信息正确率

		indexCodes.add("IAAC003"); //主流客户占比
		indexCodes.add("IAAC004"); //院感
		indexCodes.add("IAAC005"); //质量改进情况
		indexCodes.add("IAAC006"); //投诉事件扣分
		indexCodes.add("IAAC007"); //质量安全扣分
		indexCodes.add("IZZZ999"); //总计 (第三个[小计])
		indexGTreeRepo.put(INDEX_GROUP_G, indexCodes);

		/************************************************
		 * * 收入 ===> 层级关系
		 */
		indexCodes = new ArrayList<String>();
		indexCodes.add("KGIAAA001VD001"); //得分
		indexGTreeRepo.put("IAAA001", indexCodes);

		indexCodes = new ArrayList<String>();
		indexCodes.add("KGIAAA001VA004"); //事业群得分
		indexCodes.add("KGIAAA001VB004"); //部门得分Ⅰ
		indexCodes.add("KGIAAA001VC004"); //部门得分Ⅱ
		indexGTreeRepo.put("KGIAAA001VD001", indexCodes);

		indexCodes = new ArrayList<String>();
		indexCodes.add("KGIAAA001VA003"); //事业群达成率
		indexGTreeRepo.put("KGIAAA001VA004", indexCodes);

		indexCodes = new ArrayList<String>();
		indexCodes.add("KGIAAA001VB003"); //部门达成率Ⅰ
		indexGTreeRepo.put("KGIAAA001VB004", indexCodes);

		indexCodes = new ArrayList<String>();
		indexCodes.add("KGIAAA001VC003"); //部门达成率Ⅱ
		indexGTreeRepo.put("KGIAAA001VC004", indexCodes);

		indexCodes = new ArrayList<String>();
		indexCodes.add("KGIAAA001VA001"); //事业群目标值
		indexCodes.add("KGIAAA001VA002"); //事业群实际值
		indexGTreeRepo.put("KGIAAA001VA003", indexCodes);

		indexCodes = new ArrayList<String>();
		indexCodes.add("KGIAAA001VB001"); //部门目标值Ⅰ
		indexCodes.add("KGIAAA001VB002"); //部门实际值Ⅰ
		indexGTreeRepo.put("KGIAAA001VB003", indexCodes);

		indexCodes = new ArrayList<String>();
		indexCodes.add("KGIAAA001VC001"); //部门目标值Ⅱ
		indexCodes.add("KGIAAA001VC002"); //部门实际值Ⅱ
		indexGTreeRepo.put("KGIAAA001VC003", indexCodes);

		/************************************************
		 * * 净利润 ===> 层级关系
		 */
		indexCodes = new ArrayList<String>();
		indexCodes.add("KGIAAA002VD001"); //得分
		indexGTreeRepo.put("IAAA002", indexCodes);

		indexCodes = new ArrayList<String>();
		indexCodes.add("KGIAAA002VA004"); //事业群得分
		indexCodes.add("KGIAAA002VB004"); //部门得分Ⅰ
		indexCodes.add("KGIAAA002VC004"); //部门费用得分
		indexGTreeRepo.put("KGIAAA002VD001", indexCodes);

		indexCodes = new ArrayList<String>();
		indexCodes.add("KGIAAA002VA003"); //事业群达成率
		indexGTreeRepo.put("KGIAAA002VA004", indexCodes);

		indexCodes = new ArrayList<String>();
		indexCodes.add("KGIAAA002VB003"); //部门达成率Ⅰ
		indexGTreeRepo.put("KGIAAA002VB004", indexCodes);

		indexCodes = new ArrayList<String>();
		indexCodes.add("KGIAAA002VC003"); //部门费用达成率
		indexGTreeRepo.put("KGIAAA002VC004", indexCodes);

		indexCodes = new ArrayList<String>();
		indexCodes.add("KGIAAA002VA001"); //事业群目标值
		indexCodes.add("KGIAAA002VA002"); //事业群实际值
		indexGTreeRepo.put("KGIAAA002VA003", indexCodes);

		indexCodes = new ArrayList<String>();
		indexCodes.add("KGIAAA002VB001"); //部门目标值Ⅰ
		indexCodes.add("KGIAAA002VB002"); //部门实际值Ⅰ
		indexGTreeRepo.put("KGIAAA002VB003", indexCodes);

		indexCodes = new ArrayList<String>();
		indexCodes.add("KGIAAA002VC001"); //部门目标值Ⅱ
		indexCodes.add("KGIAAA002VC002"); //部门实际值Ⅱ
		indexGTreeRepo.put("KGIAAA002VC003", indexCodes);

		/************************************************
		 * * 净新增 ===> 层级关系
		 */
		indexCodes = new ArrayList<String>();
		indexCodes.add("KGIAAA003VB001"); //得分
		indexGTreeRepo.put("IAAA003", indexCodes);

		indexCodes = new ArrayList<String>();
		indexCodes.add("KGIAAA003VA003"); //达成率
		indexGTreeRepo.put("KGIAAA003VB001", indexCodes);

		indexCodes = new ArrayList<String>();
		indexCodes.add("KGIAAA003VA001"); //目标值
		indexCodes.add("KGIAAA003VA001"); //实际值
		indexGTreeRepo.put("KGIAAA003VA003", indexCodes);

		/************************************************
		 * * 第一个小计 ===> 层级关系
		 */
		indexCodes = new ArrayList<String>();
		indexCodes.add("KGIAAA000VA000"); //小计
		indexGTreeRepo.put("IAAA000", indexCodes);

		/************************************************
		 * * 独立区健康评估按时完成率（联考） ===> 层级关系
		 */
		indexCodes = new ArrayList<String>();
		indexCodes.add("KGIAAB001VB001"); //得分
		indexGTreeRepo.put("IAAB001", indexCodes);

		indexCodes = new ArrayList<String>();
		indexCodes.add("KGIAAB001VA001"); //目标值
		indexCodes.add("KGIAAB001VA002"); //实际值
		indexGTreeRepo.put("KGIAAB001VB001", indexCodes);

		/************************************************
		 * * 独立区年度体检完成率（联考） ===> 层级关系
		 */
		indexCodes = new ArrayList<String>();
		indexCodes.add("KGIAAB002VB001"); //得分
		indexGTreeRepo.put("IAAB002", indexCodes);

		indexCodes = new ArrayList<String>();
		indexCodes.add("KGIAAB002VA001"); //目标值
		indexCodes.add("KGIAAB002VA002"); //实际值
		indexGTreeRepo.put("KGIAAB002VB001", indexCodes);

		/************************************************
		 * * 独立区跌倒致重伤发生率（联考） ===> 层级关系
		 */
		indexCodes = new ArrayList<String>();
		indexCodes.add("KGIAAB003VB001"); //得分
		indexGTreeRepo.put("IAAB003", indexCodes);

		indexCodes = new ArrayList<String>();
		indexCodes.add("KGIAAB003VA001"); //目标值
		indexCodes.add("KGIAAB003VA002"); //实际值
		indexGTreeRepo.put("KGIAAB003VB001", indexCodes);

		/************************************************
		 * * 入住合同签署完成率 ===> 层级关系
		 */
		indexCodes = new ArrayList<String>();
		indexCodes.add("KGIAAB004VB001"); //得分
		indexGTreeRepo.put("IAAB004", indexCodes);

		indexCodes = new ArrayList<String>();
		indexCodes.add("KGIAAB004VA001"); //目标值
		indexCodes.add("KGIAAB004VA002"); //实际值
		indexGTreeRepo.put("KGIAAB004VB001", indexCodes);

		/************************************************
		 * * TK-LTC体系执行符合率 ===> 层级关系
		 */
		indexCodes = new ArrayList<String>();
		indexCodes.add("KGIAAB005VB001"); //得分
		indexGTreeRepo.put("IAAB005", indexCodes);

		indexCodes = new ArrayList<String>();
		indexCodes.add("KGIAAB005VA005"); //达成率
		indexGTreeRepo.put("KGIAAB005VB001", indexCodes);

		indexCodes = new ArrayList<String>();
		indexCodes.add("KGIAAB005VA001"); //全流程检查目标值
		indexCodes.add("KGIAAB005VA002"); //全流程检查实际值
		indexCodes.add("KGIAAB005VA003"); //日常检查目标值
		indexCodes.add("KGIAAB005VA004"); //日常检查实际值
		indexGTreeRepo.put("KGIAAB005VA005", indexCodes);

		/************************************************
		 * * TKR体系执行符合率 ===> 层级关系
		 */
		indexCodes = new ArrayList<String>();
		indexCodes.add("KGIAAB006VB001"); //得分
		indexGTreeRepo.put("IAAB006", indexCodes);

		indexCodes = new ArrayList<String>();
		indexCodes.add("KGIAAB006VA005"); //达成率
		indexGTreeRepo.put("KGIAAB006VB001", indexCodes);

		indexCodes = new ArrayList<String>();
		indexCodes.add("KGIAAB006VA001"); //全流程检查目标值
		indexCodes.add("KGIAAB006VA001"); //全流程检查实际值
		indexCodes.add("KGIAAB006VA003"); //日常检查目标值
		indexCodes.add("KGIAAB006VA004"); //日常检查实际值
		indexGTreeRepo.put("KGIAAB006VA005", indexCodes);

		/************************************************
		 * * 康复医院门诊病历书写合格率 ===> 层级关系
		 */
		indexCodes = new ArrayList<String>();
		indexCodes.add("KGIAAB007VB001"); //得分
		indexGTreeRepo.put("IAAB007", indexCodes);

		indexCodes = new ArrayList<String>();
		indexCodes.add("KGIAAB007VA001"); //目标值
		indexCodes.add("KGIAAB007VA002"); //实际值
		indexGTreeRepo.put("KGIAAB007VB001", indexCodes);

		/************************************************
		 * * 康复医院甲级病案率 ===> 层级关系
		 */
		indexCodes = new ArrayList<String>();
		indexCodes.add("KGIAAB008VB001"); //得分
		indexGTreeRepo.put("IAAB008", indexCodes);

		indexCodes = new ArrayList<String>();
		indexCodes.add("KGIAAB008VA001"); //目标值
		indexCodes.add("KGIAAB008VA002"); //实际值
		indexGTreeRepo.put("KGIAAB008VB001", indexCodes);

		/************************************************
		 * * 养康客户满意度（联考） ===> 层级关系
		 */
		indexCodes = new ArrayList<String>();
		indexCodes.add("KGIAAB009VB001"); //得分
		indexGTreeRepo.put("IAAB009", indexCodes);

		indexCodes = new ArrayList<String>();
		indexCodes.add("KGIAAB009VA006"); //实际值合计
		indexGTreeRepo.put("KGIAAB009VB001", indexCodes);

		indexCodes = new ArrayList<String>();
		indexCodes.add("KGIAAB009VA001"); //目标值
		indexCodes.add("KGIAAB009VA002"); //独立区（50%）
		indexCodes.add("KGIAAB009VA003"); //护理区（25%）
		indexCodes.add("KGIAAB009VA004"); //医院住院（15%）
		indexCodes.add("KGIAAB009VA005"); //医院门诊（10%）
		indexGTreeRepo.put("KGIAAB009VA006", indexCodes);

		/************************************************
		 * * 养康NPS ===> 层级关系
		 */
		indexCodes = new ArrayList<String>();
		indexCodes.add("KGIAAB010VB001"); //得分
		indexGTreeRepo.put("IAAB010", indexCodes);

		indexCodes = new ArrayList<String>();
		indexCodes.add("KGIAAB010VA006"); //实际值合计
		indexGTreeRepo.put("KGIAAB010VB001", indexCodes);

		indexCodes = new ArrayList<String>();
		indexCodes.add("KGIAAB010VA001"); //目标值
		indexCodes.add("KGIAAB010VA002"); //独立区（50%）
		indexCodes.add("KGIAAB010VA003"); //护理区（25%）
		indexCodes.add("KGIAAB010VA004"); //医院住院（15%）
		indexCodes.add("KGIAAB010VA005"); //医院门诊（10%）
		indexGTreeRepo.put("KGIAAB010VA006", indexCodes);

		/************************************************
		 * * 全景及专项计划 ===> 层级关系
		 */
		indexCodes = new ArrayList<String>();
		indexCodes.add("KGIAAB013VB001"); //得分
		indexGTreeRepo.put("IAAB013", indexCodes);

		indexCodes = new ArrayList<String>();
		indexCodes.add("KGIAAB013VA001"); //目标值
		indexCodes.add("KGIAAB013VA002"); //实际值
		indexGTreeRepo.put("KGIAAB013VB001", indexCodes);

		/************************************************
		 * * 2019核心制度 ===> 层级关系
		 */
		indexCodes = new ArrayList<String>();
		indexCodes.add("KGIAAB014VB001"); //得分
		indexGTreeRepo.put("IAAB014", indexCodes);

		indexCodes = new ArrayList<String>();
		indexCodes.add("KGIAAB014VA001"); //目标值
		indexCodes.add("KGIAAB014VA002"); //实际值
		indexGTreeRepo.put("KGIAAB014VB001", indexCodes);

		/************************************************
		 * * 战略项目 ===> 层级关系
		 */
		indexCodes = new ArrayList<String>();
		indexCodes.add("KGIAAB015VB001"); //得分
		indexGTreeRepo.put("IAAB015", indexCodes);

		indexCodes = new ArrayList<String>();
		indexCodes.add("KGIAAB015VA001"); //目标值
		indexCodes.add("KGIAAB015VA002"); //实际值
		indexGTreeRepo.put("KGIAAB015VB001", indexCodes);

		/************************************************
		 * * 医养融合 ===> 层级关系
		 */
		indexCodes = new ArrayList<String>();
		indexCodes.add("KGIAAB016VA001"); //得分
		indexGTreeRepo.put("IAAB016", indexCodes);


		/************************************************
		 * * 重点工作完成 ===> 层级关系
		 */
		indexCodes = new ArrayList<String>();
		indexCodes.add("KGIAAB017VA001"); //得分
		indexGTreeRepo.put("IAAB017", indexCodes);

		/************************************************
		 * * 第二个小计 ===> 层级关系
		 */
		indexCodes = new ArrayList<String>();
		indexCodes.add("KGIAAB000VA000"); //小计
		indexGTreeRepo.put("IAAB000", indexCodes);

		/************************************************
		 * * 关键信息正确率 ===> 层级关系
		 */
		indexCodes = new ArrayList<String>();
		indexCodes.add("KGIAAC001VB001"); //得分
		indexGTreeRepo.put("IAAC001", indexCodes);

		indexCodes = new ArrayList<String>();
		indexCodes.add("KGIAAC001VA001"); //目标值
		indexCodes.add("KGIAAC001VA002"); //实际值
		indexGTreeRepo.put("KGIAAC001VB001", indexCodes);

		/************************************************
		 * * 主流客户占比 ===> 层级关系
		 */
		indexCodes = new ArrayList<String>();
		indexCodes.add("KGIAAC003VB001"); //得分
		indexGTreeRepo.put("IAAC003", indexCodes);

		indexCodes = new ArrayList<String>();
		indexCodes.add("KGIAAC003VA001"); //目标值
		indexCodes.add("KGIAAC003VA002"); //实际值
		indexGTreeRepo.put("KGIAAC003VB001", indexCodes);

		/************************************************
		 * * 院感 ===> 层级关系
		 */
		indexCodes = new ArrayList<String>();
		indexCodes.add("KGIAAC004VB001"); //得分
		indexGTreeRepo.put("IAAC004", indexCodes);

		indexCodes = new ArrayList<String>();
		indexCodes.add("KGIAAC004VA001"); //目标值
		indexCodes.add("KGIAAC004VA002"); //实际值
		indexGTreeRepo.put("KGIAAC004VB001", indexCodes);

		/************************************************
		 * * 质量改进情况 ===> 层级关系
		 */
		indexCodes = new ArrayList<String>();
		indexCodes.add("KGIAAC005VA001"); //数量
		indexCodes.add("KGIAAC005VB001"); //得分
		indexGTreeRepo.put("IAAC005", indexCodes);

		/************************************************
		 * * 投诉事件扣分 ===> 层级关系
		 */
		indexCodes = new ArrayList<String>();
		indexCodes.add("KGIAAC006VA001"); //数量
		indexCodes.add("KGIAAC006VB001"); //得分
		indexGTreeRepo.put("IAAC006", indexCodes);

		/************************************************
		 * * 质量安全扣分 ===> 层级关系
		 */
		indexCodes = new ArrayList<String>();
		indexCodes.add("KGIAAC007VA001"); //数量
		indexCodes.add("KGIAAC007VB001"); //得分
		indexGTreeRepo.put("IAAC007", indexCodes);

		/************************************************
		 * * 总计 ===> 层级关系
		 */
		indexCodes = new ArrayList<String>();
		indexCodes.add("KGIZZZ999VZ999"); //得分总计
		indexGTreeRepo.put("IZZZ999", indexCodes);
	}
	
}
